#ifndef WINDOWINFO_H
#define WINDOWINFO_H

#include <QString>

#ifdef Q_OS_WIN32
#include <windows.h>
typedef HWND    WID;        // 窗口id
typedef DWORD   PID;        // 进程id
#endif
#ifdef Q_OS_LINUX
#include <X11/Xlib.h>
typedef Window  WID;
typedef pid_t   PID;
#undef Bool
#undef CursorShape
#undef Expose
#undef KeyPress
#undef KeyRelease
#undef FocusIn
#undef FocusOut
#undef FontChange
#undef None
#undef Status
#undef Unsorted
#endif

class WindowInfo
{
public:
    WindowInfo();

    WID windowId() const;
    void setWindowId(const WID &windowId);

    QString windowTitle() const;
    void setWindowTitle(const QString &windowTitle);

    PID processId() const;
    void setProcessId(const PID &processId);

    QString processName() const;
    void setProcessName(const QString &processName);

private:
    WID m_windowId;             // 窗口id
    QString m_windowTitle;      // 窗口标题

    PID m_processId;            // 进程id
    QString m_processName;      // 进程名
};

#endif // WINDOWINFO_H
